Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for RHEL8 #89

Merged
merged 2 commits into from
Feb 12, 2024
Merged

Add support for RHEL8 #89

merged 2 commits into from
Feb 12, 2024

Conversation

chosak
Copy link
Member

@chosak chosak commented Feb 12, 2024

This change adds support for running this application on RHEL8.

The fabfile.py configuration and deployment scripts are simplified; RHEL8 includes Python 3.6 so we no longer need to install it, nor a different version of SQLite. We can also use Node 18 instead of Node 16.

The Python application code also needs to be modified to use a more secure version of hashlib.md5 to comply with FIPS mode. See http://blog.serindu.com/2019/11/12/django-in-fips-mode/ for background and the implemented workaround.

I've already tested this manually in our internal cloud environment; see internal CFGOV/crawler-deploy#2 for the associated CloudFormation template changes.

This change adds support for running this application on RHEL8.

The fabfile.py configuration and deployment scripts are simplified;
RHEL8 includes Python 3.6 so we no longer need to install it, nor a
different version of SQLite. We can also use Node 18 instead of Node 16.

The Python application code also needs to be modified to use a more
secure version of hashlib.md5 to comply with FIPS mode. See
http://blog.serindu.com/2019/11/12/django-in-fips-mode/ for background
and the implemented workaround.
fabfile.py Outdated
# Node 18 doesn't seem to work on RHEL 7.
# https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V18.md#toolchain-and-compiler-upgrades
NODE_VERSION = "16"
NODE_VERSION = "18"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we use Node 20 or is that crazy talk?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not crazy at all, I will try it.

@chosak chosak merged commit bf0bd8c into main Feb 12, 2024
4 checks passed
@chosak chosak deleted the support/rhel8 branch February 12, 2024 20:50
chosak added a commit that referenced this pull request Oct 4, 2024
PR 89 migrated the EC2 deployment configuration for this repository to
RHEL8. Those changes included some explicit monkeypatching of MD5 to
allow for running on RHEL8 with FIPS mode enabled.

Going forward, support for EC2 deployment will be maintained in the ec2
branch [1] until such time as we are fully containerized.

For that reason, we no longer need to maintain this code in the main
branch, and it can be removed.

[0] #89
[1] https://github.com/cfpb/website-indexer/tree/ec2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants